<?php
namespace app\system\controller;
use app\admin\common\Base;
use think\Db;
use think\session;
use app\system\model\SystemCheck;
class Check extends Base
{	
	 public function index()
    {
    	$data=$this->request->param();//获取所有值
    	if (isset($data['ajax']) && $data['ajax'] == 100) {//ajax不为空 且 等于100时输出的内容
    		$map='';									//给$map赋值为空
    		$page=isset($data['page'])?$data['page']:1;	//是否有第几页有就返回本身不然就返回1赋值给$page
            $page=intval($page);						//获取变量的整数值
            $limit=isset($data['rows'])?$data['rows']:10;//是否有多少条数有就返回本身不然就返回10赋值给$limit
            $limit=intval($limit);				//获取变量的整数值
            $start=$limit*($page-1);//0
    		if($map==''){	//$map为空时输出的内容
                $list =Db::name('system_check')->where('is_del',0)->where('enterprise_id',$this->EnterpriseId)->order('id desc')->limit($start,$limit)->select();
                //查询日志表条件1查看表是否删除条件2企业ID等于企业ID倒序长度不超过获取到的种条数查询所有
                $count =Db::name('system_check')->where('enterprise_id',$this->EnterpriseId)->where('is_del',0)->count();
                //获取到查询日志表的总条数
                foreach($list as $k => $timi){//循环日志表输出的内容
                $list[$k]['check_cdate']=date('Y-m-d',$timi['check_cdate']);//获取到的日志时间搓转换为日期格式赋值给时间
                $list[$k]['check_time']=date('Y-m-d H:i:s',$timi['check_time']);//获取到的日志时间搓转换为日期格式赋值给时间 	 	
                }
            }else{//$map不等于空时输出的内容
                $list =Db::name('system_check')->where('is_del',0)->order('id desc')->where('enterprise_id',$this->EnterpriseId)->limit($start,$limit)->select(); //查询日志表条件1查看表是否删除条件2企业ID等于企业ID倒序长度不超过获取到的种条数查询所有
                $count =Db::name('system_check')->where('enterprise_id',$this->EnterpriseId)->where('is_del',0)->count();
                //获取到查询日志表的总条数
            }
    	return $this->grid_data($list,$count,$page,$limit);//返回查询到的结果，查询到结果的种条数，页数，条数给grid

    	}
    	return $this->fetch();
	}
	// +---------------------
	// +		结账与反结账
	// +---------------------
	public function save(){
		if (request()->isPost()) {
			// +-------------
			// +	结账开始
			// +-------------
			$data=$this->request->param();//获取传过来的数据
			if ($data['add'] == 0) {// add等于0或者1 0时为结账 1时为反结账
				$time=SystemCheck::where('is_del',0)->where('enterprise_id',$this->EnterpriseId)->order('id desc')->find();//查询结账与反结账数据库条件为 是否删除为 0 企业ID为1时输出一条
				$users=session::get('user_info');//获取登录用户的数据
				$timi=strtotime($data['endDate']);//时间转为时间搓
				$ti=date("d",$time['check_cdate']);//数据库获取到日期的 日值
				$d=date("d",$timi);//传过来时间‘日’值
				if ($ti<$d) {//数据库的日期 小于 传过来的日期输出的内容
					$date=[//插入数据库的内容
						'check_cdate'=>$timi,//选择的日期
						'check_time'=>time(),//操作的日期
						'check_username'=>$users['username'],//操作的账号
						'enterprise_id'=>$users['enterprise_id']//企业ID
					];
						$check=SystemCheck::create($date);//插入数据库
						if ($check) {//插入数据库成功输出的内容
							return json(['code'=>1,'msg'=>'结账完毕']);
						}else{
							return json(['code'=>2,'msg'=>'结账失败']);
						}
				}else{//数据库的日期 大于 传过来的日期输出的内容
					$date=date('Y-m-d',$time['check_cdate']);
					return json(['code'=>2,'msg'=>'结算日期不能小于等于上次结算的日期：'.$date.'!']);
				}
			// +---------------
			// +	结账结束
			// +---------------	
			// +---------------
			// +	反结账开始
			// +---------------		
			}else{
				$id=SystemCheck::where('is_del','0')->where('enterprise_id',$this->EnterpriseId)->order('id desc')->find();//获取结算与反结算数据表到最后一条的数据
				$del=SystemCheck::where('id',$id['id'])->where('enterprise_id',$this->EnterpriseId)->update(['is_del'=>1]);//删除结算与反结算数据表最后一条数据
				if ($del) {//删除成功输出的内容
							return json(['code'=>1,'msg'=>'反结账成功']);
						}else{
							return json(['code'=>2,'msg'=>'反结账失败']);
						}
			}
			// +---------------
			// +	反结账开始
			// +---------------	
		}	
	}
	// +---------------------
	// +		结账与反结账
	// +---------------------
	
}